// #[derive(Debug)]
// enum IpAddrKind {
//     v4,
//     v6,
// }

// #[derive(Debug)]
// struct IpAddr {
//     kind: IpAddrKind,
//     address: String,
// }

// let home = IpAddr{
//     kind: IpAddrKind::v4,
//     address:String::from("127.0.0.1"),
// };

// let loopback = ApAddr{
//     kind: IpAddrKind::v6,
//     address: String::from("::1"),
// }

// 使用枚举甚至还有更多优势。进一步考虑一下我们的 IP 
// 地址类型，目前没有一个存储实际 IP 地址 数据 的方法；
// 只知道它是什么 类型 的。


// IpAddr 枚举的新定义表明了 V4 和 V6 成员都关联了 String 值

enum IpAddr{
    v4(String),
    v6(String),
}

let home = IpAddr::v4(String)













